package com.scada.dao;

import java.util.List;
import java.util.Map;

import com.scada.model.bean.DictionaryData;
import com.scada.model.bean.vo.DictionaryDataAdminOfficeVO;
import com.scada.model.bean.vo.DictionaryVO;
import com.scada.model.result.PageInfo;



/**
 * 
 * @ClassName: DictionaryDataMapper 
 * @Description: 字典数据详情
 * @author: yangyuan
 * @date: 2016年12月7日 下午3:43:51
 */
public interface DictionaryDataDao {
	
	/**
	 * 
	 * @Title: deleteByPrimaryKey 
	 * @Description: 批量删除字典详情
	 * @param map   ID  List集合
	 * @return
	 * @return: int
	 * @author: yangyuan 
	 * @date: 2016年12月7日 下午3:45:27
	 */
   public int deleteByPrimaryKey(Map<String, Object> map);
   
   /**
    * 
    * @Title: insertSelective 
    * @Description: 插入字典详情
    * @param dictionaryData
    * @return
    * @return: int
    * @author: yangyuan 
    * @date: 2016年12月7日 下午3:46:12
    */
   public int insertSelective(DictionaryData dictionaryData);
    
   /**
    * 
    * @Title: selectByPrimaryKey 
    * @Description: 根据ID查询字典详情
    * @param map
    * @return
    * @return: DictionaryData
    * @author: yangyuan 
    * @date: 2016年12月7日 下午3:46:36
    */
   public DictionaryData selectByPrimaryKey(Map<String, Object> map);
   
   /**
    * 
    * @Title: updateByPrimaryKeySelective 
    * @Description: 更新字典详情
    * @param dictionaryData
    * @return
    * @return: int
    * @author: yangyuan 
    * @date: 2016年12月7日 下午3:46:57
    */
   public int updateByPrimaryKeySelective(DictionaryData dictionaryData);
    
   /**
    * 
    * @Title: selectAll 
    * @Description: 分页查询字典详情
    * @param pageInfo
    * @return
    * @return: List<DictionaryVO>
    * @author: yangyuan 
    * @date: 2016年12月7日 下午3:47:14
    */
    public List<DictionaryVO> selectAll(PageInfo<DictionaryVO> pageInfo);
    
    /**
     * 
     * @Title: count 
     * @Description: 查询字典详情总数
     * @param dictionaryVO
     * @return
     * @return: int
     * @author: yangyuan 
     * @date: 2016年12月7日 下午3:47:28
     */
    public int count(DictionaryVO dictionaryVO);
    
    /**
     * 根据type查询字典唯一性
     */
    public DictionaryData selectByType(DictionaryData dictionaryData);
    
    /** 
     * @FunctionName: getDataByType
     * @Description:通过标识获取数据
     * @author: 黄胜
     * @date: 2016年11月16日 下午3:59:37 
     * @param record
     * @return 
     */
    public List<DictionaryData> getDataByType(Map<String ,Object> map);
    
    /** 
     * @FunctionName: getDataByTypeAndKey
     * @Description:通过标识获取数据
     * @author: 黄胜
     * @date: 2016年11月16日 下午3:59:37 
     * @param record
     * @return 
     */
    public DictionaryData getDataByTypeAndKey(Map<String ,Object> map);
    
    /**
     * 根据Name查询字典唯一性
     */
    public DictionaryData selectByName(DictionaryData dictionaryData);
    
    /**
     * 更具字典type查询子字典
     * @param typeKey
     * @return
     */
    public List<DictionaryData> searchDictionaryDataByType(String type);
    
    /**
     * 
     * @Title: findempJobName 
     * @Description:查询员工职级
     * @param 
     * @return
     * @return: DictionaryData
     * @author: yangyuan 
     * @date: 2016年12月13日 下午4:18:35
     */
    public List<DictionaryData> findempJobName();
    
    /**
     * 
     * @Title: onlyVer 
     * @Description: 更新唯一验证
     * @param dictionaryData
     * @return
     * @return: Integer
     * @author: yangyuan 
     * @date: 2016年12月16日 下午5:56:32
     */
    public Integer onlyVer(DictionaryData dictionaryData);
    
    /**
     * 
     * @Title: findDictionaryType
     * @Description:查询所有任务分类字典   type 字典类型编码
     * @return     
     * @return: List<DictionaryData>
     * @author: yangyuan 
     * @date: 2016年12月30日 下午2:04:23
     */
    public List<DictionaryData> findDictionaryType(String type);
    
    public Integer getSelectDicDataCount(Map<String,Object> map);
    
    public List<DictionaryData> getSelectDicDataPageList(Map<String,Object> map);
    
    public List<DictionaryData> searchDictionaryDataContainId(String dictionaryId);
    
}